package com.pisolution.scheduler.datasource.alert;

/**
 * 用于辅助外接告警服务访问系统内部告警相关设置.
 *
 * @author sora
 * @version 0.1.0
 */
public final class AlertServiceFactory {
    /** 用于缓存告警服务的唯一实例. */
    private static AlertService service = null;

    // -------------------------------------------------------------------------------------------------
    //  实例化
    // -------------------------------------------------------------------------------------------------

    /**
     * 获取告警服务的唯一实例 如果实例不存在 则创建此服务.
     *
     * @return 告警服务实例.
     */
    public static synchronized AlertService getAlertService() {
        // 1. 确认当前缓存实例是否为空.
        if (service == null) {
            service = new AlertService();

            // 2. 初始化告警服务.
            service.init();
        }

        return service;
    }

    // -------------------------------------------------------------------------------------------------

    /** 阻止实例化. */
    private AlertServiceFactory() {
    }
}
